1. Field
The present disclosure relates generally to telecommunications, and more particularly, to video systems.
2. Background
In the world of telecommunications, where bandwidth comes at a premium, video compression plays an important role in multimedia applications. Video compression can be used to dramatically decrease the information required to reconstruct an image by exploiting the fact that there are very few differences between two adjacent frames in a video sequence. This may be achieved by dividing the current frame into macroblocks, and searching the previous frame to determine where each macroblock came from. If the image content of the macroblock in the current frame can be located in the previous frame, then it does not need to be reproduced. The image content can be represented by a “motion vector” indicating its displacement in the current frame from its position in the previous frame. To the extent that there are any changes in image content between the current and previous frame, only the difference, or “residual, information,” needs to be transmitted with the motion vector. This technique is often referred to as “temporal compression.”
“Spatial compression” is another technique that is often employed in video compression systems. Spatial compression is used to eliminate redundant and non-essential material in each macroblock. Spatial compression is achieved by first transforming the residual information in the macroblock from the space and time domain into the frequency domain using the discrete cosine transform (DCT) method, and then applying quantization and variable length encoding techniques. The quantization process is weighted to assign fewer bits per pixel to the high frequency coefficients, where the eye is less sensitive, and more bits per pixel to the important low frequency coefficients. A quantization parameter (QP) is used to set a number of high frequency coefficients to zero, thereby reducing the number of bits required to represent the frequency coefficients for the macroblock. The QP is used to ensure that the bit budget for the frame is met. In some conventional video compression systems, the same QP is used for each macroblock. This approach is straightforward, but does not necessarily result in the best picture quality. Preferably, the QP should be varied over the frame such that macroblocks with more information are allocated more bits from the bit budget.